Python list v.s. set
リストへのappendに比べて、setへのaddは70nsほど遅い
ハッシュ値の計算コストなど
これはC世界のコストなのでPyPyとかでも縮みにくい
結果ABC176で発生したように「setでuniqueにするよりループを空回りさせた方が速い」という現象が起こる code:python
...: xs = []
...: xs.append(1)
...:
71.9 ns ± 1.01 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
...: xs = set()
...: xs.add(1)
...:
141 ns ± 0.457 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)